package com.yxy.chatserver.service;

import com.yxy.chatserver.domain.po.BaseMessage;

import java.util.List;

/**
 * 消息服务接口
 * 定义消息的存储、检索等操作
 */
public interface MessageService {
    
    /**
     * 存储消息
     * @param baseMessage 要存储的消息
     */
    void saveMessage(BaseMessage baseMessage);
    
    /**
     * 获取用户的未读消息
     * @param userId 用户ID
     * @return 未读消息列表
     */
    List<BaseMessage> getUnreadMessages(String userId);
    
    /**
     * 标记消息为已读
     * @param messageId 消息ID
     */
    void markMessageAsRead(String messageId);
    
    /**
     * 标记用户的所有消息为已读
     * @param userId 用户ID
     */
    void markAllMessagesAsRead(String userId);
    
    /**
     * 获取两个用户之间的聊天记录
     * @param userId1 第一个用户ID
     * @param userId2 第二个用户ID
     * @param page 页码
     * @param pageSize 每页大小
     * @return 聊天记录列表
     */
    List<BaseMessage> getChatHistory(String userId1, String userId2, int page, int pageSize);
}